package registro;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import es.cea.core.scopes.Sesion;


public class TestRegistro {
	
	protected final Log logger = LogFactory.getLog(getClass());
	
	ServicioRegistro sr;
	@BeforeMethod
	public void inicializa(){
//		Preparo escenario prueba
		Usuario usuario1 = new Usuario("user","pass", "Una direccion");
		Usuario usuario2 = new Usuario("user2","pass2", "Una direccion2");
	
		 sr = new ServicioRegistro();
		
		sr.dbUser=new DBUsuario();
		sr.ses = new Sesion();
		
		sr.dbUser.usuarios.add(usuario1);
		sr.dbUser.usuarios.add(usuario2);

	}
	
	Usuario registra = null;
	
	@Test
	public void pruebaRegistroIdeal(){
		
//		Invoco prueba
		
		
//		usuario y clave correcto
		try{
			registra = sr.registra("user", "pass");
			logger.debug("Todo correcto");
		} catch (ClaveIncorrectaException e){
			logger.error("Clave incorrecta");
			assert (false);
		} catch (UsuarioNoExisteException e){
			logger.error("Usuario no existe");
			assert (false);
		}
		
		System.out.println(registra + "\n");
		registra = null;
	}
		@Test
		public void pruebaRegistroUsuarioIncorrecto(){

//		usuario incorrecto
		try{
			registra = sr.registra("userMAL", "pass");
		} catch (ClaveIncorrectaException e){
			logger.error("Clave incorrecta");
			assert !(1 == 0);
		} catch (UsuarioNoExisteException e){
			logger.error("Usuario no existe");
			assert !(1 == 0);
		}
	}
	@Test
	public void pruebaRegistro2(){
		
//		
		System.out.println(registra + "\n");
		
//		Clave incorrecta
		try{
			registra = sr.registra("user", "passMAL");
		} catch (ClaveIncorrectaException e){
			logger.error("Clave incorrecta");
			assert !(1 == 0);
		} catch (UsuarioNoExisteException e){
			logger.error("Usuario no existe");
			assert !(1 == 0);
		}
		
		System.out.println(registra + "\n");
		
	}

}
